package srting;

import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer;

import java.util.Arrays;

/*
String 支持正则表达式的相关方法
 */
public class StringDemo6 {
    public static void main(String[] args) {
        /*
        boolean marches(string regex)
        使用给定的正则表达式验证当前字符串的内容是否是符合格式要求
        匹配则返回true否则返回false
         */
        String email="asd@fsd.cn";
        /*
        邮箱正则表达式
        [a-zA-Z0-9_]+@[a-zA-Z0-9]+(\.[a-zA-Z]+)+
         */
        String regex ="[a-zA-Z0-9_]+@[a-zA-Z0-9]+(\\.[a-zA-Z]+)+";
        boolean match =email.matches(regex);
        if (match){
            System.out.println("是邮箱");
        }else{
            System.out.println("不是邮箱");
        }
        /*
        String[] split(String regex)
        将当前字符串按照瞒足政则表达式的部分拆分,并将拆分后分每段数据以数组形式返回
         */
        String str2="asfd263fda65f2f3s";
        //得到str2中的每段字母部分
        //按照数字部分进行最终保留所有的字符部分
        String[] data=str2.split("[0-9]+");
        System.out.println(data.length);
        System.out.println(Arrays.toString(data));

        String str3="das,fas,sad";
        data =str3.split(",");
        System.out.println(Arrays.toString(data));


         String str4="asd.f.asgf.g";
         data= str4.split("\\.");
        System.out.println(Arrays.toString(data));


        //如果字符串开始就是拆分项是,则会先拆分出一个空字符串
        String str5=",asd,adsd,fg";
        data=str5.split(",");
        System.out.println("len:"+data.length);
        System.out.println(Arrays.toString(data));

        /*
        在字符串中如果连续出现两个可拆分项时,他们之间会拆分出一个空字符串
         */

        String str6="asd,,adsd,fg";
        data=str6.split(",");
        System.out.println("len:"+data.length);
        System.out.println(Arrays.toString(data));

        /*
        如果字符串末尾连续出现了拆分项时,所有拆分出的空字符串全部忽略
         */
        String str7="asd,adsd,fg,,,,,,,,,";
        data=str7.split(",");
        System.out.println("len:"+data.length);
        System.out.println(Arrays.toString(data));

        /*
        String replaceAll(String regex ,String str)
        将当前AFC送的数字部分替换为"#NUMBER#"
         */
        String str8="dsf21s3f4s4ag4as4f";
        //将当前的字符串的数字部分替换为"#NUMBER#"
        //"dsf#NUMBER#s#NUMBER#f#NUMBER#s#NUMBER#ag#NUMBER#as#NUMBER#f"
        str8=str8.replaceAll("[0-9]+","#NUMBER#");
        System.out.println(str8);

        //和谐语句实现
        String reg ="(傻逼|二逼|ldsf|kdsf|afs)";
        String message ="你个傻逼,你就是个二逼";
        message =message.replaceAll(reg,"***");
        System.out.println(message);






    }
}
